// pages/page1/index.js
const app = getApp()

Page({

    /**
     * 页面的初始数据
     */
    data: {
        name: 'Jackxx',
        age: 18,
        obj: {
            name: 'Rose',
            age: 18
        },
        hobbies: ['吃饭', '睡觉'],
        imgUrl: 'http://www.itcast.cn/2018czgw/images/logo.png',
        size: 40,
        is618: true,
        gender: 1,
        heroes1: [
            { id: 1, name: '亚瑟', role: '战士' },
            { id: 2, name: '妲己', role: '法师' },
            { id: 3, name: '后羿', role: '射手' },
        ],
        heroes2: ['吕布', '王昭君', '黄忠'],
        heroes3: [
            {
                id: 1,
                name: '亚瑟',
                role: '战士',
                friends: [
                    { id: 1, name: '张飞', role: '游走' },
                    { id: 2, name: '黄忠', role: '射手' },
                    { id: 3, name: '黄忠2', role: '射手2' }
                ]
            },
            {
                id: 2,
                name: '刘邦',
                role: '坦克',
                friends: [
                    { id: 1, name: '关羽', role: '战士' },
                    { id: 2, name: '刘备', role: '刺客' }
                ]
            },
        ],
        amount: 18,


    },



    handleButton() {

        // 拿到全局对象上的属性或方法
        console.log(app.msg)
        app.setMsg(Math.random())
        // try {
        //     let obj = undefined
        //     console.log(obj.name)
        // } catch (error) {
        //     console.log('我捕获到了异常', error)
        // }
    },

    handleHeroTap(e) {
        console.log(e.mark)
    },

    handleEventTap(e) {
        console.log('按钮点击时的现场', e)
    },

    handleObjArrChange() {
        // 这里修改数据
        // age => 28, ['吃饭','睡觉'] => ['吃饭','睡觉','敲代码']
        this.data.hobbies.push('敲代码')
        this.setData({
            // obj: {
            //     name: this.data.obj.name,
            //     age: 28
            // }
            obj: { ...this.data.obj, age: 28, name: 'Jack' },
            // 'obj.age': 28
            // hobbies: [...this.data.hobbies, '敲代码']
            hobbies: this.data.hobbies
        })
    },

    // 修改数量的事件处理函数
    handleChangeAmount() {
        this.setData({
            amount: 28
        })
    },

    // 事件处理函数
    handleTap1() {
        console.log('按钮1被点击了')
    },
    handleTap2() {
        console.log('按钮2被点击了')
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {

    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {
        console.log('页面下拉刷新了')
    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {
        console.log('我是有底线的')
    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {

    }
})